#region FileHeader
//////////////////////////////////////////////////////////////////////////////////
// Author:                          Hector Llanos
// Date:                            03.19.2011
// FileName:                        CCharacterBase.cs
// Reason:                          base character object
//////////////////////////////////////////////////////////////////////////////////
#endregion

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Content;

using Run_Game;
using MessagingSystem;
using Event_System;
using Globals;
using Base;
using AnimatedSprite;

namespace Objects
{
    public class CCharacterBase 
    {
        //which character who you are
        private CharacterType m_eCharater;

        //character info for animations
        private string m_szFilename;
        private int m_nMaxFramesX;
        private int m_nMaxFramesY;
        private int m_fFPS;

        //base attributes
        private int m_nHealth;
        private int m_nMaxHealth;
        private int m_nMaxArmor;
        private int m_nArmor;
        private int m_nDamage;

        public enum CharacterType {None = 0, ArmyJoe, Ninja, grenadier };
        public int Health
        {
            get { return m_nHealth; }
            set { m_nHealth = value; }
        }
        public int Armor
        {
            get { return m_nArmor; }
            set { m_nArmor = value; }
        }
        public int Damage
        {
            get { return m_nDamage; }
            set { m_nDamage = value; }
        }
        public string Filename
        {
            get { return m_szFilename; }
            set { m_szFilename =  value; }
        }
        public int MaxFramesY
        {
            get { return m_nMaxFramesY; }
            set { m_nMaxFramesY = value; }
        }
        public int MaxFramesX
        {
            get { return m_nMaxFramesX; }
            set { m_nMaxFramesX = value; }
        }
        public int FPS
        {
            get { return m_fFPS; }
            set { m_fFPS = value; }
        }
        public int MaxArmor
        {
            get { return m_nMaxArmor; }
            set { m_nMaxArmor = value; }
        }
        public int MaxHealth
        {
            get { return m_nMaxHealth; }
            set { m_nMaxHealth = value; }
        }

        public CharacterType Character
        {
            get { return m_eCharater; }
            set { m_eCharater = value; }
        }

        public CCharacterBase() 
        {
            m_nHealth = 0;
            m_nArmor = 0;
            m_nDamage = 0;

            m_szFilename = string.Empty;
            m_nMaxFramesX = 1;
            m_nMaxFramesY = 1;
            m_fFPS = 0;

            m_eCharater = CharacterType.None;
        }
        ~CCharacterBase()
        {
        }
        
    }
}
